package com.goods.shop.service.librarys;


import com.goods.shop.model.librarys.SearchResultModel;

import java.util.List;
import java.util.Map;
import java.util.concurrent.CountDownLatch;

/**
 * 根据关键词，文化,研究院,章程根据这几个关键词来同时搜索，查找一条记录中同时存在这几条记录的值
 */
public interface SearchKeysService {
    /**
     * 获取所有的关键词
     * @return
     */
    public List<String> getKeys();

    /**
     * 获取所有的librarys
     * @return
     */
    public Map<String,String> getLibrarys(String file);

    /**
     *分析获取所有查询的关键词对应的记录
     * @return
     */
    public List<SearchResultModel> analyse(String keys, CountDownLatch latch);

    /**
     * 去结果list中去匹配一下每个map，看一下是否有匹配上的,把包含图书馆的结果过滤出来
     * @param datas
     * @param librarys
     * @return
     */
    public List<SearchResultModel> filterLibrarys(List<SearchResultModel> datas, Map<String, String> librarys);

    /**
     * 将结果写入到文件当中
     * @param results
     * @param destFile
     */
    public void writeToFile(List<SearchResultModel> results, String destFile);
}
